package com.tjmc.company.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tjmc.company.api.entity.CompanyInfoEntity;
import com.tjmc.recruit.common.core.util.R;

/**
 * 企业信息服务
 */
public interface CompanyInfoService extends IService<CompanyInfoEntity> {
    /**
     * 注册企业
     * @param companyInfo 企业信息
     * @return R
     */
    R<CompanyInfoEntity> registerCompany(CompanyInfoEntity companyInfo);

    /**
     * 按类别查询企业列表
     * @param page 分页条件
     * @param category 类别：MEMBER(会员)、HIGH_SAL（高薪）、FAM（名企）
     * @return
     */
    Page<CompanyInfoEntity> getCompanyPageByCategory(Page page, String category);

    /**
     * 条件分页查询
     * @param page 分页条件
     * @param wrapper 查询条件
     * @return
     */
    Page<CompanyInfoEntity> selectPageOrdered(Page page, LambdaQueryWrapper<CompanyInfoEntity> wrapper);

    /**
     * 统计被浏览次数
     * @param companyInfo
     * @return
     */
    Long countBeBrowsedNum(CompanyInfoEntity companyInfo);
}